<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>计算属性实现</title>
</head>
<body>
  <div id="root">
      {{fullName}}
  </div>


<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script>
<script>

    new Vue({
        el:'#root',
        data:{
             user:{
                 firstname: 'Alice',
                 lastName: 'Judy'
             }
        },

        /*
        *  计算属性类似于data中定义的属性，也能在页面中访问得到，计算属性内部函数的返回值就是计算属性的值
        *  计算属性依赖的值如果发生变化的话会导致计算属性的重新计算，与watch属性不同的是计算属性无法获取到变化的值，除非配合data内部的v-model属性使用
        * */
        computed:{
            fullName:{
                get(){
                    console.log('get被调用了')
                    return this.user.firstname+this.user.lastName
                },
                set(val){
                    this.firstName =val;
                }

            }
        }
    })


</script>
</body>
</html>